package com.atguigu.view;

import org.springframework.web.servlet.View;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.text.Document;
import java.util.List;
import java.util.Map;

/**
 * 自定义视图
 *
 *      1、实现View接口
 *
 * @author 伟哥
 * @date 2021-05-15 19:01
 */
public class MyView implements View {
    /**
     * 返回的数据 的内容类型
     * @return html页面
     */
    @Override
    public String getContentType() {
        return "text/html";
    }

    /**
     * 核心方法
     *      用来渲染视图！（也就是，页面展示的内容）
     * @param model
     * @param request
     * @param response
     * @throws Exception
     */
    @Override
    public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception {

        // 获取MyViewResolverController.java控制器，内存储在model中的数据
        System.out.println("之前MyViewResolverController保存的数据："+model);

        //设置内容类型
        response.setContentType("text/html");
        /*
        response.setContentType("text/html;charset=UTF-8");
        因为我们使用了CharacterEncodingFilter解决乱码，这里就不需要";charset=UTF-8"
         */

        //设置响应内容
        response.getWriter().write("哈哈<h1>即将展现，精彩内容！</h1>");
        //获取model内存储的数据
        List<String> videoList =(List<String>) model.get("video");
        for (String video : videoList) {
            response.getWriter().write("<p> 下载："+video+"</p><br/>");
        }
        // 还可以写script脚本
        response.getWriter().write("" +
                "<script>" +
                "   alert(1);"+
                "</script>");
    }
}
